/* =======================================================================
 * Sistemi Operativi, Corso di Laurea in Ingegneria Informatica, DM 270/04
 * A.A. 2011/2012, Facoltà di Ingegneria, Università della Calabria
 * =======================================================================
 */

package sisop.appelli.a2012.treaule;

import java.util.Random;
import java.util.concurrent.TimeUnit;

/**
 * @author Marco Lackovic <mlackovic@deis.unical.it>
 * @version 1.0, Jul 27, 2012
 */
public class Docente implements Runnable {

	private static final int SECONDI_ATTESA = 5;

	private Random random = new Random();

	private Aule aule;

	public Docente(Aule esame) {
		this.aule = esame;
	}

	@Override
	public void run() {
		try {
			while (true) {
				aule.chiamaStudente();
				attendi();
			}
		} catch (InterruptedException e) {
		}
	}

	private void attendi() throws InterruptedException {
		TimeUnit.SECONDS.sleep(random.nextInt(SECONDI_ATTESA));
	}
}
